import java.text.DecimalFormat;
import java.util.ArrayList;
import javax.swing.*;
import estoque.view.*;
import javax.swing.table.DefaultTableModel;

public class Relatorios {
     public  static  DecimalFormat df = new DecimalFormat("0.00");  
     private static String res;

    // RELATORIO FINANCEIRO
     
    public static String relatoriosaida(){
        float total=0;
        for(Compra x: JFControle.compras)
            total += x.getPrecoTotal();
        return res = "R$ " + df.format(total);  
   }
  
   public static String relatorioentrada(){
       float total=0;
       for(Venda x: JFControle.vendas){
           for(Item z: x.itens_vendidos)
               total += z.getPreco_venda();   
       }
       return res = "R$ " + df.format(total);  
   }
     
  public static String relatoriolucro(){
      float gasto=0, ganho=0;
      for(Compra x: JFControle.compras)
          gasto += x.getPrecoTotal();
      for(Venda x: JFControle.vendas){
          for(Item z: x.itens_vendidos)
              ganho += z.getPreco_venda();   
      }
      if (ganho - gasto >= 0) return res = "Lucro R$ " + df.format(ganho - gasto);  
      else return res = "Prejuízo R$ " + df.format(ganho - gasto);   
   }
  
  // RELATORIOS ESTOQUE
  
   public static DefaultTableModel RelatorioItem(JTable TableItensEstoque){
       DefaultTableModel listaItens = (DefaultTableModel) TableItensEstoque.getModel();
       for(Item x : JFControle.itens){
            if (x.getEstoque() > 0) {
               String item_ind[] = {x.getItem(), String.valueOf(x.getEstoque()), String.valueOf(x.getPreco_venda())};
               listaItens.addRow(item_ind); }
       }
       return listaItens;
   }

  public static int RelatorioVendaItem(String item, JTable TableItens){
       DefaultTableModel listavendas = (DefaultTableModel) TableItens.getModel();
       for(Venda y : JFControle.vendas){
            for(Item z : y.itens_vendidos){       
                if (item.equals(z.getItem())){
                    String obj[] = {y.getCliente(), String.valueOf(z.getQuantidade()), "R$ " + String.valueOf(z.getPreco_venda())};
                    listavendas.addRow(obj);
                }
            }
      }
      return JOptionPane.showConfirmDialog(null, "Deseja gerar outro relátorio ?");
  }
  
   public static int VendaCliente(JTable Table, String cliente){
       DefaultTableModel listaItens = (DefaultTableModel) Table.getModel();
       for(Venda y : JFControle.vendas){
            if(y.getCliente().equals(cliente)){
                 for(Item z : y.itens_vendidos){       
                      String ite[] = {z.getItem(), String.valueOf(z.getQuantidade()), "R$ " + String.valueOf(z.getPreco_venda())};
                      listaItens.addRow(ite);
                 }
                 break;
           }                 
       }
        return JOptionPane.showConfirmDialog(null, "Deseja gerar outro relátorio ?");
   }
    
}
